关于jquery:单击提交按钮的值 |
您所在的位置:网站首页 › jquery on click › 关于jquery:单击提交按钮的值 |
这应该很简单。 我正在检查是否正在使用jquery提交表单。表单具有多个具有不同值的提交按钮: 12Foo Bar我想找到刚刚提交表单的按钮的值: 123$(form).live('submit', function() { // Get value of submit button }谢谢 绑定事件以提交按钮而不是表单,然后$(this)将具有对按钮的引用... 123$(":submit").live('click', function() { alert($(this).val()); })EDIT自jQuery 1.7起不推荐使用live。请改用on。 123$(document).on("click",":submit", function(e){ alert($(this).val()); }); 相关讨论 根据文档,不建议使用.live(),而建议使用.on() @CrazyPyro,这个问题是在2011年3月问到的,而jQuery 1.7于2011年11月发布了不推荐使用的实时版本。这似乎得到了单击的提交按钮: 12jQuery("#TheForm").context.activeElement.name jQuery("#TheForm").context.activeElement.value如果使用"提交"事件,则不能。无需单击提交按钮即可提交表单。 为了获得单击的按钮,您需要通过使用自定义事件并标记实际单击的按钮(创建一个可以捕获表单中任何X按钮的单击的选择器)来更改方法。这还需要绑定一个自定义事件,并禁止表单本身的Submit事件。 123$('input[type="submit"]').click(function() { alert ($(this).val()); } 相关讨论 它不会在实际的表单提交事件中被捕获,它是一个单独的事件。 足够真实。您可以将值放入变量中,因为可能要提交表单。 其中一个括号不见了。现在就试试。我建议使用Firebug插件,您只需要在控制台中查看数据,就可以对问题做出很多回应。我意识到,在您的情况下,您可以通过以下方式访问提交值: 1alert($(this).context.submit.value); 相关讨论 也许我在错误的地方使用了它-但尝试此操作时出现"未定义"的错误。我在$(form).submit(function(){...}我最终使用了每个提交按钮上的click事件,就像其他人建议的那样。效果很好,如果您想取消提交,则可以从它们返回false。只是不要尝试也绑定表单的Submit事件。您还可以让这些处理程序中的每一个调用一个通用的Submit-handler函数,并将其自身的值作为参数传递。 相关讨论 以下是一种有趣的方法,但仅适用于Firefox :(另请参见stackoverflow.com/questions/179826/)$(form).submit( function(event) { \tvar whichClicked = event.originalEvent.explicitOriginalTarget.id; \tif ( whichClicked =="approve" ) etc... \t\t}); |
CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3 |